home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
comm
/
ca29_3.zip
/
PC-2-PC.CMD
< prev
next >
Wrap
OS/2 REXX Batch file
|
1992-11-30
|
23KB
|
1,501 lines
S29="ATE0Q0V1X1S0=2 S7=30 S9=10^M"
S19="PC-2-PC ver 1.1 "
LEGE S19
SUBD S18
DLDI S17
SET DLDI " "
SET FLAG(0) OFF
SET FLAG(1) ON
SET FLAG(2) Off
SET FLAG(3) Off
SET CDIS ON
SET RDIS OFF
SET SOFT OFF
SET ATIM 0
SET ALAR OFF
SET CHAT OFF
SET XSUI 10
ON ESCA GOSU Exit
N90=N91=N92=0
S16=""
S15=""
SET PARI NONE
SET DATA 8
SET STOP 1
N98=0
GOSU InitScre
GOSU BuildLoc
IF ZERO N98
GOSU LinkTest
ELSE
FOPENI "PC2PC.LOC" TEXT
ENDI
Main:
LEGE S19
LOCA (N99-3),77
SOUN 440,100
SET TTHR OFF
Main100:
IF HITKEY
GOTO MAIN200
ENDI
IF RECEIVE
GOTO MAIN300
ENDI
IF ZERO N98 AND NOT CONNECTED
GOTO Exit
ENDI
GOTO Main100
MAIN200:
KEYG S1
SWIT S1
CASE "C"
GOSU ChangeOu
ENDC
CASE "E"
GOTO Exit
ENDC
CASE "H"
GOSU Help
ENDC
CASE "S"
GOSU Select
ENDC
CASE "T"
GOSU Transfer
ENDC
CASE "W"
GOSU Wildcard
ENDC
CASE "4D00"
GOSU Change_S
ENDC
CASE "4B00"
GOSU Change_S
ENDC
CASE "4900"
GOSU Prev_Pag
ENDC
CASE "5100"
GOSU Next_Pag
ENDC
CASE "4700"
GOSU Home_Pag
ENDC
CASE "4F00"
GOSU End_Page
ENDC
CASE "4800"
GOSU Cursor_U
ENDC
CASE "5000"
GOSU Cursor_D
ENDC
CASE "7100"
SHEL
ENDC
DEFA
SOUN 100,100
ENDC
ENDS
GOTO Main
MAIN300:
RGET S1 1
SWIT S1
CASE "R"
RGET S1 80 10
TRAN "+!"
GOSU Remote_C
ENDC
CASE "E"
GOTO Exit
ENDC
CASE "L"
RGET S1 80 10
TRAN "+!"
GOSU Local_Ch
ENDC
CASE "T"
RGET S1 80 10
GOSU Rcv_Tran
ENDC
CASE "W"
RGET S1 80 10
GOSU Rcv_Wild
ENDC
CASE "?"
TRAN "PC-2-PC!"
SET FLAG(1) OFF
GOSU Exchange
ENDC
DEFA
RFLU
GOTO Main100
ENDC
ENDS
GOTO Main
Exit:
IF FLAG (0)
TRAN "E!"
SET FLAG(0) OFF
ENDI
TSIN (9) N9,N8,N7
S3="DISCONNECT: ("&N9&":"&N8&":"&N7&")"
CLOG S3
IF CONNECTED and NOT FLAG(3)
HANG
ENDI
DO
REST
UNTI FAILURE
FCLOSEI
FCLOSEO
DELE "PC2PC.LOC"
DELE "PC2PC.REM"
CHDI S18
SET CDRE ON
BYE
Clear_Cu:
IF NOT ZERO N90
GOSU Read_Cur
IF FLAG(2)
ATSA N90,41 (default) S12
ELSE
ATSA N90,2 (default) S12
ENDI
ENDI
RETU
Set_Curs:
GOSU Read_Cur
IF NOT ZERO N90
IF FLAG(2)
IF NOT NULL S12
ATSA N90,41 (contrast) S12
ELSE
N90=N90-1
GOTO Set_Curs
ENDI
ELSE
IF NOT NULL S12
ATSA N90,2 (contrast) S12
ELSE
N90=N90-1
GOTO Set_Curs
ENDI
ENDI
ENDI
RETU
Read_Cur:
S12=""
IF NOT ZERO N90
IF FLAG(2)
ATSC N90,41,37 S12
ELSE
ATSC N90,2,37 S12
ENDI
ENDI
RETU
Cursor_U:
GOSU Clear_Cu
IF NOT ZERO N90
N90=N90-1
ELSE
N90=N99-5
ENDI
GOSU Set_Curs
RETU
Cursor_D:
GOSU Clear_Cu
IF LT N90 (N99-5)
N90=N90+1
ELSE
N90=1
ENDI
GOSU Set_Curs
RETU
Change_S:
GOSU Clear_Cu
N90=0
IF FLAG(2)
ATSA N99-4,9 (default) " , , PgUp, PgDn "
ATSA N99-4,48 (default) " to this window "
SET FLAG(2) OFF
FOPENI "PC2PC.LOC" TEXT
ELSE
ATSA N99-4,9 (default) " to this window "
ATSA N99-4,48 (default) " , , PgUp, PgDn "
SET FLAG(2) ON
FOPENI "PC2PC.REM" TEXT
ENDI
RETU
Clear_Wi:
IF FLAG(2)
SCRO 0,1,40,(N99-5),77 (default)
ELSE
SCRO 0,1,1,(N99-5),38 (default)
ENDI
N90=0
RETU
Prev_Pag:
FRESTOREI
IF FAILURE
RETU
ENDI
FRESTOREI
IF FAILED
SOUN 100,100
ENDI
FSAVEI
GOSU Clear_Wi
PRPA100:
N1=1
PRPA200:
READ S1 40 N0
IF EOF
IF EQ N1 1
GOTO Prev_Pag
ENDI
GOTO PRPAXIT
ENDI
IF FLAG(2)
ATSA N1,41 (default) S1(0:35)
ELSE
ATSA N1,2 (Default) S1(0:35)
ENDI
INC N1
IF LE N1 (N99-5)
GOTO PRPA200
ENDI
PRPAXIT:
RETU
Next_Pag:
FSAVEI
GOSU Clear_Wi
GOTO PRPA100
Home_Pag:
REWI
FSAVEI CLEAR
GOTO Next_Pag
End_Page:
FSAVEI
GOSU Clear_Wi
ENPA100:
N1=1
ENPA200:
READ S1 40 N0
IF EOF
IF EQ N1 1
FRESTOREI
IF FAILURE
RETU
ENDI
ENDI
GOTO ENPAXIT
ENDI
INC N1
IF LE N1 (N99-5)
GOTO ENPA200
ENDI
FSAVEI
IF FAILED
FSAVEI SHIFT
FSAVEI
ENDI
GOTO ENPA100
ENPAXIT:
FSAVEI
IF FAILED
FSAVEI SHIFT
FSAVEI
ENDI
GOTO PRev_Pag
ChangeOu:
IF FLAG(2)
IF NOT ZERO N92
GOTO CHDI200
ENDI
ELSE
IF NOT ZERO N91
GOTO CHDI100
ENDI
ENDI
IF FLAG(2)
S11="PC2PC.REM"
ELSE
S11="PC2PC.LOC"
ENDI
FFIR S11
FNEX S11 QUAL
GOSU Ask_Dir
IF FLAG(9)
RETU
ENDI
FCLOSEI
DELE S11
GOSU Clear_Wi
IF FLAG(2)
GOSU BuildRem
ELSE
GOSU SendLocD
ENDI
IF FLAG(2)
S11="PC2PC.REM"
ELSE
S11="PC2PC.LOC"
ENDI
FOPENI S11 TEXT
RETU
CHDI100:
S10="_ONESCAPE"
ON ESCA GOSU CHDIEsc
SAVE 10,10,12,70
BOX 10,10,12,70 (contrast)
CHDI110:
ATSA 11,12 (contrast) "Files are selected on local side: Delete? Y/N: "
ATSA 12,26 (contrast) " Press ESC to cancel "
KEYG S1
ON ESCA GOSU S10
REST
SWIT S1
CASE "N"
RETU
ENDC
CASE "Y"
S16=""
N91=0
GOTO ChangeOu
ENDC
DEFA
SOUN 100,100
GOTO CHDI100
ENDC
ENDS
CHDI200:
S10="_ONESCAPE"
ON ESCA GOSU CHDIEsc
SAVE 10,10,12,70
BOX 10,10,12,70 (contrast)
ATSA 11,12 (contrast) "Files are selected on remote side: Delete? Y/N: "
ATSA 12,26 (contrast) " Press ESC to cancel "
KEYG S1
ON ESCA GOSU S10
REST
SWIT S1
CASE "N"
RETU
ENDC
CASE "Y"
S15=""
N92=0
GOTO ChangeOu
ENDC
DEFA
SOUN 100,100
GOTO CHDI200
ENDC
ENDS
CHDIEsc:
S1=""
RETU
Disc_Err:
BOX 10,10,12,70 (contrast)
ATSA 11,12 (contrast) "Fatal disk error - PC2PC terminating"
ATSA 12,26 (contrast) " Press any key to continue "
KEYG S0
GOTO Exit
Unimpl:
S10="_ONESCAPE"
ON ESCA GOSU UnimEsc
SAVE 10,10,12,70
BOX 10,10,12,70 (contrast)
ATSA 11,12 (contrast) "Unimplemented function"
ATSA 12,26 (contrast) " Press any key to continue "
KEYG S1
ON ESCA GOSU S10
REST
RETU
UnimEsc:
RETU
BuildLoc:
FOPENO "PC2PC.LOC" TEXT
IF FAILURE
GOSU Disc_Err
ENDI
FFIR "*.*"
IF Failure
FCLOSEO
RETU
ENDI
N1=1
BULD100:
FNEX S1
IF Failure
FCLOSEO
RETU
ENDI
IF STRCMP S1 "PC2PC.LOC"
GOTO BULD100
ENDI
IF STRCMP S1 "PC2PC.REM"
GOTO BULD100
ENDI
IF STRCMP S1(1:1) "."
GOTO BULD100
ENDI
FATT S2 S1
IF STRCMP S2(3:3) "1"
GOTO BULD100
ENDI
FSIZ S2 S1
FDAT S3 S1
FTIM S4 S1
S1(13:79)=S2
S1(21:79)=S3
S1(31:79)=S4
S1(36)=" "
S1(37)=" "
S1(38)=" "
S1(39)=" "
S1(40)=" "
PRES S1
IF GE (N99-5),N1
ATSA N1,2 (default) S1(0:36)
ENDI
WRIT S1 40
WRIT "^M" 2
INC N1
GOTO BULD100
LinkTest:
IF NOT CONNECTED
GOTO NoLink
ENDI
LEGE " Testing for link"
RFLU
TRAN "!?!"
RGET S1 80 10
IF FAILURE
GOTO NoLink
ENDI
IF NOT STRCMP S1 "PC-2-PC"
GOTO NoLink
ENDI
GOSU Exchange
IF NOT FLAG(0)
GOTO NoLink
ENDI
LinkXIT:
S19(20:79)="Linked"
RETU
NoLink:
RFLU
LEGE " Select link method"
SET FLAG(0) OFF
SAVE 8,10,21,70
BOX 8,10,21,70 (contrast)
ATSA 9,12 (contrast) "No link is detected: select one of the following:"
ATSA 11,12 (contrast) "1) Direct connect "
ATSA 12,12 (contrast) "2) Wait for direct connect"
ATSA 14,12 (contrast) "3) Dial the remote PC"
ATSA 15,12 (contrast) "4) Wait for call connect "
ATSA 17,12 (contrast) "5) Change subdirectory "
ATSA 18,12 (contrast) "6) Help"
ATSA 20,12 (Contrast) "Select: "
ATSA 21,28 (Contrast) " ESC terminates script "
NOLI100:
LOCA 20,21
KEYG S1
SWIT S1
CASE "1"
GOSU Direct
IF not FLAG(9)
GOTO NOLI100
ENDI
COMP S3
S2="CONNECT: Direct Connect "*S3*" PC-TO-PC"
CLOG S2
SET TIME (9)
SET FLAG(3) ON
REST
ENDC
CASE "2"
GOSU Await_Di
IF not FLAG(9)
GOTO NOLI100
ENDI
GOSU Respond
IF FLAG(1)
SOUN 880,500
GOTO NOLI100
ENDI
REST
GOSU Exchange
IF FLAG(0)
COMP S3
S2="CONNECT: Direct Connect "*S3*" PC-TO-PC"
CLOG S2
SET FLAG(3) ON
GOTO LinkXIT
ENDI
ENDC
CASE "3"
GOSU Dial
IF FLAG(9)
GOTO NOLI100
ENDI
CLOG "* PC-2-PC Dial done"
REST
ENDC
CASE "4"
GOSU Await_Ca
IF FLAG(9)
GOTO NOLI100
ENDI
GOSU Respond
IF FLAG(1)
SOUN 880,500
GOTO NOLI100
ENDI
REST
GOSU Exchange
IF FLAG(0)
CLOG "* PC-2-PC Dial auto-answer"
GOTO LinkXIT
ENDI
ENDC
CASE "5"
FFIR "PC2PC.LOC"
FNEX S11 QUAL
GOSU Change_D
IF FLAG(9)
GOTO NOLI100
ENDI
FCLOSEI
DELE S11
REST
SCRO 0,1,1,(N99-5),38 (default)
GOSU BuildLoc
FOPENI "PC2PC.LOC" TEXT
GOTO NoLink
ENDC
CASE "6"
GOSU Help
GOTO NOLI100
ENDC
DEFA
SOUN 100,100
GOTO NOLI100
ENDC
ENDS
GOTO LinkTest
Direct:
SET CDRE OFF
GOSU Set_Parm
RFLU
RETU
Await_Di:
SET CDRE OFF
GOSU Set_Parm
RFLU
RETU
Set_parm:
WOPE 8,10,15,70 (Contrast) SEPAESC
SET FLAG(9) ON
ATSA 8,12 (contrast) " Direct connection - set parameters"
ATSA 9,12 (contrast) "Select any of the following, CR to begin:"
ATSA 10,12 (contrast) "A) COM1"
ATSA 11,12 (contrast) "B) COM2"
ATSA 12,12 (contrast) "C) COM3"
ATSA 13,12 (contrast) "D) COM4"
ATSA 10,22 (contrast) "1) 300"
ATSA 11,22 (contrast) "2) 1200"
ATSA 12,22 (contrast) "3) 2400"
ATSA 13,22 (contrast) "4) 4800"
ATSA 10,32 (contrast) "5) 9600"
ATSA 11,32 (contrast) "6) 14.4k"
ATSA 12,32 (contrast) "7) 19.2k"
ATSA 13,32 (contrast) "8) 38.4k"
ATSA 10,42 (contrast) "9) 57.6k"
ATSA 11,42 (contrast) "0) 115k"
ATSA 12,42 (contrast) "Note: 115k may yield"
ATSA 13,42 (contrast) "a high error rate..."
ATSA 14,12 (contrast) "Current setting: "
ATSA 15,29 (contrast) " Press ESC to cancel "
SEPA100:
CO